home *** CD-ROM | disk | FTP | other *** search
- import os
-
- from test_support import verify, TESTFN
- from UserList import UserList
-
- # verify writelines with instance sequence
- l = UserList(['1', '2'])
- f = open(TESTFN, 'wb')
- f.writelines(l)
- f.close()
- f = open(TESTFN, 'rb')
- buf = f.read()
- f.close()
- verify(buf == '12')
-
- # verify writelines with integers
- f = open(TESTFN, 'wb')
- try:
- f.writelines([1, 2, 3])
- except TypeError:
- pass
- else:
- print "writelines accepted sequence of integers"
- f.close()
-
- # verify writelines with integers in UserList
- f = open(TESTFN, 'wb')
- l = UserList([1,2,3])
- try:
- f.writelines(l)
- except TypeError:
- pass
- else:
- print "writelines accepted sequence of integers"
- f.close()
-
- # verify writelines with non-string object
- class NonString: pass
-
- f = open(TESTFN, 'wb')
- try:
- f.writelines([NonString(), NonString()])
- except TypeError:
- pass
- else:
- print "writelines accepted sequence of non-string objects"
- f.close()
-
- # verify that we get a sensible error message for bad mode argument
- bad_mode = "qwerty"
- try:
- open(TESTFN, bad_mode)
- except IOError, msg:
- if msg[0] != 0:
- s = str(msg)
- if s.find(TESTFN) != -1 or s.find(bad_mode) == -1:
- print "bad error message for invalid mode: %s" % s
- # if msg[0] == 0, we're probably on Windows where there may be
- # no obvious way to discover why open() failed.
- else:
- print "no error for invalid mode: %s" % bad_mode
-
- os.unlink(TESTFN)
-